{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Matplotlab"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "! pip install matplotlib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "%matplotlib inline\n",
    "# figure 画板\n",
    "# aex 图片\n",
    "# plot 折线图\n",
    "# scatter 散点图\n",
    "# bar 柱状图\n",
    "# contours 等高线图\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f5398c516d0>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(1, 2, 1)\n",
    "ax1.plot([1, 2, -3, 4, -5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23\n",
      " 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47\n",
      " 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71\n",
      " 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95\n",
      " 96 97 98 99]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f5398ccd710>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "a = np.arange(100)\n",
    "print(a)\n",
    "fig=plt.figure()\n",
    "sp1=fig.add_subplot(1,2,1)\n",
    "sp1.plot(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23\n",
      " 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47\n",
      " 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71\n",
      " 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95\n",
      " 96 97 98 99]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f5398b4f110>]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "a = np.arange(100)\n",
    "print(a)\n",
    "fig=plt.figure()\n",
    "sp1=fig.add_subplot(1,2,1)\n",
    "sp1.plot(a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 坐标轴\n",
    "import matplotlib.pyplot as plt\n",
    "from numpy import *\n",
    "x=linspace(-2,2)\n",
    "y=2*x+1\n",
    "plt.xlim(-2,2)\n",
    "plt.ylim(-3,5)\n",
    " \n",
    "ax=plt.gca()  #gca:get current axis得到当前轴\n",
    "#设置图片的右边框和上边框为不显示\n",
    "ax.spines['right'].set_color('none')\n",
    "ax.spines['top'].set_color('none')\n",
    " \n",
    "#挪动x，y轴的位置，也就是图片下边框和左边框的位置\n",
    "ax.spines['bottom'].set_position(('data',0))  #data表示通过值来设置x轴的位置，将x轴绑定在y=0的位置\n",
    "ax.spines['left'].set_position(('axes',0.5))  #axes表示以百分比的形式设置轴的位置，即将y轴绑定在x轴50%的位置，也就是x轴的中点\n",
    " \n",
    "plt.plot(x,y)\n",
    "plt.show()     #显示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 微观经济学\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号\n",
    "\n",
    "\n",
    "def Frank_potato(x: int) -> float: return x * 60 / 15\n",
    "def Frank_beef(x): return x * 60 / 60\n",
    "def Rose_potato(x): return x * 60 / 10\n",
    "def Rose_beef(x): return x * 60 / 20\n",
    "\n",
    "\n",
    "x = np.arange(1, 25, 1)\n",
    "fig = plt.figure(num=3, figsize=(10, 6))\n",
    "# 添加子图\n",
    "plt1 = fig.add_subplot(1, 2, 1)  # (1行,2列,位置1)\n",
    "\n",
    "plt1.set_title('土豆')\n",
    "\n",
    "plt1.set_xlabel('时间/h')\n",
    "plt1.set_ylabel('土豆产量/盎司')\n",
    "\n",
    "plt1.set_xlim(1, 24)\n",
    "\n",
    "# 设置轴颜色\n",
    "plt1.spines['right'].set_color('none')\n",
    "plt1.spines['top'].set_color('none')\n",
    "\n",
    "plt1.plot(x, Frank_potato(x), label='Frank')\n",
    "plt1.plot(x, Rose_potato(x), color='orange', label='Rose')\n",
    "plt1.legend()  # 显示plot里的label\n",
    "\n",
    "x0 = 10\n",
    "y0 = Frank_potato(x0)\n",
    "plt1.plot([x0, x0], [0, y0], 'k--', lw=2.5)\n",
    "# k-- 黑色-- e.g. r-- 红色--\n",
    "# 标注\n",
    "plt1.annotate(f'$Frank({x0}) = {y0}$', xy=(x0, y0), xycoords='data',\n",
    "              xytext=(+15,-15), textcoords='offset points',\n",
    "              arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=.2'))\n",
    "# 标注2\n",
    "plt1.text(5,80,r'$By\\ Quanwei$',color='violet')\n",
    "\n",
    "plt2 = fig.add_subplot(1,2,2)\n",
    "plt2.set_xlabel('时间/h')\n",
    "plt2.set_ylabel('牛肉产量/盎司')\n",
    "plt2.plot(x, Frank_beef(x), color='red', label='Frank')\n",
    "plt2.plot(x, Rose_beef(x), color='green',\n",
    "          linewidth=2.0, linestyle='--', label='Rose')\n",
    "plt2.legend()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 动画\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib import animation\n",
    "fig, ax = plt.subplots()\n",
    "x = np.arange(0, 2*np.pi, 0.01)\n",
    "line, = ax.plot(x, np.sin(x))\n",
    "\n",
    "\n",
    "def animation_func(i):\n",
    "    line.set_ydata(np.sin(x+i/100))\n",
    "    return line,\n",
    "\n",
    "\n",
    "def init():\n",
    "    line.set_ydata(np.sin(x))\n",
    "    return line,\n",
    "\n",
    "\n",
    "ani = animation.FuncAnimation(fig=fig, func=animation_func, frames=100,\n",
    "                              init_func=init, interval=20, blit=True)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "x = np.linspace(-4, 4, 100)\n",
    "y = -x**2-2*x+3\n",
    "z = x+3\n",
    "ax = plt.gca()\n",
    "ax.spines['right'].set_color('none')\n",
    "ax.spines['top'].set_color('none')\n",
    "ax.spines['left'].set_position(('data', 0))\n",
    "ax.spines['bottom'].set_position(('data', 0))\n",
    "plt.plot(x, y)\n",
    "plt.plot(x, z)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "软件工程导论\n",
    "Term Project\n",
    "\"\"\"\n",
    "# 利率计算\n",
    "\n",
    "R = 0.05/12  # 年利率->月利率\n",
    "P = 100000\n",
    "\n",
    "pay = P*R*(1+R)**(30*12)/((1+R)**(30*12)-1)\n",
    "print(pay)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import decimal\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "loan = decimal.Decimal('100000')\n",
    "rate = decimal.Decimal('0.05')\n",
    "pay = decimal.Decimal('536.82162')\n",
    "y = []\n",
    "z = []\n",
    "ints = 0\n",
    "pris = 0\n",
    "for i in range(12*30):\n",
    "    interest = loan*rate/12\n",
    "    pri = pay-interest\n",
    "    loan -= pri\n",
    "    ints += interest\n",
    "    pris += pri\n",
    "    y.append(interest)\n",
    "    z.append(pri)\n",
    "print(f\"利息: {ints:.2f}\")\n",
    "print(f\"本金: {pris:.2f}\")\n",
    "\n",
    "x = np.arange(12*30)\n",
    "plt.plot(x, y, label='interest')\n",
    "plt.plot(x, z, label='pricipal')\n",
    "plt.legend()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "# A = np.array(range(16)).reshape([4, 4])\n",
    "A = np.array([[4/5, -1/5], [-3/5, 2/5]])\n",
    "print(A)\n",
    "B = np.linalg.inv(A)\n",
    "print(B)\n",
    "print(A@B)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "A = np.array([[2, 2, 3], [1, -1, 0], [-1, 2, 1]])\n",
    "print(A)\n",
    "B = np.linalg.inv(A)\n",
    "print(B)\n",
    "print(A@B)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "plt.style.use(\"seaborn\")\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号\n",
    "# 一元一次函数图像\n",
    "x = np.arange(-10, 10, 0.1)\n",
    "k = 1\n",
    "b = 2\n",
    "y = k * x + b\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.title(\"一元一次函数\")\n",
    "plt.plot(x, y)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "plt.style.use(\"seaborn\")\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号\n",
    "\n",
    "# 一元二次函数图像\n",
    "x = np.arange(-100, 100, 0.1)\n",
    "a = 1\n",
    "b = 0\n",
    "c = 0\n",
    "y = a * x * x + b * x + c\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.title(\"一元二次函数\")\n",
    "plt.plot(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "plt.style.use(\"seaborn\")\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号\n",
    "# 指数函数\n",
    "x = np.arange(-10, 10, 0.1)\n",
    "y = np.power(2, x)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.title(\"指数函数\")\n",
    "plt.plot(x, y)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "plt.style.use(\"seaborn\")\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号\n",
    "# 正弦函数\n",
    "x = np.arange(-3 * np.pi, 3 * np.pi, 0.1)\n",
    "y = np.sin(x)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.title(\"正弦函数\")\n",
    "plt.plot(x, y)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "plt.style.use(\"seaborn\")\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号\n",
    "\n",
    "# 余弦函数\n",
    "x = np.arange(-3 * np.pi, 3 * np.pi, 0.1)\n",
    "y = np.cos(x)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.title(\"余弦函数\")\n",
    "plt.plot(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号\n",
    "#  二元一次函数图像\n",
    "fig = plt.figure()\n",
    "ax = Axes3D(fig)\n",
    "x = np.arange(-100, 100, 1)\n",
    "y = np.arange(-100, 100, 1)\n",
    "X, Y = np.meshgrid(x, y)  # 网格的创建，生成二维数组，这个是关键\n",
    "Z = X + Y\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "# 将函数显示为3d,rstride和cstride代表row(行)和column(列)的跨度cmap为色图分类\n",
    "ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签\n",
    "plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号\n",
    "#  二元二次函数图像\n",
    "fig = plt.figure()\n",
    "ax = Axes3D(fig)\n",
    "x = np.arange(-100, 100, 1)\n",
    "y = np.arange(-100, 100, 1)\n",
    "X, Y = np.meshgrid(x, y)  # 网格的创建，生成二维数组，这个是关键\n",
    "Z = X*X + Y*Y\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "# 将函数显示为3d,rstride和cstride代表row(行)和column(列)的跨度cmap为色图分类\n",
    "ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from mpl_toolkits.mplot3d.axes3d import Axes3D\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from scipy import integrate\n",
    "\n",
    "\n",
    "def f(x):\n",
    "    return x**2\n",
    "\n",
    "\n",
    "# scipy.integrate.quad 计算定积分\n",
    "v, err = integrate.quad(f, 1, 2)  # quad方法会返回精确的值和误差\n",
    "print(v)\n",
    "\n",
    "\n",
    "def f(x, a, b):\n",
    "    return a * x + b\n",
    "\n",
    "\n",
    "# quad有形参args可以传入一些参数进去的\n",
    "v, err = integrate.quad(f, 1, 2, args=(-1, 1))\n",
    "print(v)\n",
    "\n",
    "\n",
    "def f(x):\n",
    "    return 1 / np.sqrt(abs(x))\n",
    "\n",
    "\n",
    "# 通过quad函数的points给出断点继续求积分\n",
    "v, err = integrate.quad(f, -1, 1, points=[0])\n",
    "print(v)\n",
    "\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8, 3))\n",
    "x = np.linspace(-1, 1, 10000)\n",
    "ax.plot(x, f(x), lw=2)\n",
    "ax.fill_between(x, f(x), color='yellow', alpha=0.5)\n",
    "ax.set_xlabel(\"$x$\", fontsize=18)\n",
    "ax.set_ylabel(\"$f(x)$\", fontsize=18)\n",
    "ax.set_ylim(0, 25)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 二重积分\n",
    "from scipy import integrate\n",
    "import numpy as np\n",
    "\n",
    "\n",
    "def f(x, y):\n",
    "    return x * y\n",
    "\n",
    "# 直线 y=1\n",
    "def h(x):\n",
    "    return x\n",
    "\n",
    "\n",
    "v, err = integrate.dblquad(f, 1, 2, lambda x: 1, h)\n",
    "print(v)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 三重积分\n",
    "from scipy import integrate\n",
    "import numpy as np\n",
    "def f(x, y, z): return x*y*z\n",
    "def g(x): return 0\n",
    "def h(x): return (1 - x) / 2\n",
    "def q(x, y): return 0\n",
    "def r(x, y): return 1 - x - 2 * y\n",
    "\n",
    "\n",
    "v, err = integrate.tplquad(f, 0, 1, g, h, q, r)\n",
    "print(v)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 基础代谢率\n",
    "weight = 55  # kg\n",
    "height = 174  # cm\n",
    "age = 19\n",
    "basalMetabolicRate = 67+13.73*weight+5*height-6.9*age\n",
    "print(basalMetabolicRate)\n",
    "# BMI=体重÷身高^2。（体重单位：千克；身高单位：米。）\n",
    "\n",
    "\n",
    "def getBMI(height, weight):\n",
    "    BMI = weight/(height/100)**2\n",
    "    ret = ''\n",
    "    if BMI < 18.5:\n",
    "        ret = \"过轻\"\n",
    "    elif BMI < 23.9:\n",
    "        ret = \"正常\"\n",
    "    elif BMI < 27.7:\n",
    "        ret = \"超重\"\n",
    "    else:\n",
    "        ret = \"肥胖\"\n",
    "    return ret, BMI\n",
    "\n",
    "\n",
    "getBMI(height, weight)\n",
    "\n",
    "# BMI+weight -> height\n",
    "import math\n",
    "\n",
    "\n",
    "def getHeight(BMI, weight):\n",
    "    return math.sqrt(weight/BMI)\n",
    "\n",
    "\n",
    "getHeight(17, 42.5)\n",
    "\n",
    "image_weight=(height-150)*0.6+50\n",
    "print(image_weight)\n",
    "\n",
    "from math import*\n",
    "n = 36\n",
    "N = 365\n",
    "p = 1-comb(N, n)*factorial(n)/pow(N, n)\n",
    "print(f\"{n}个人中有两个人生日相等的概率为{p:%}\")\n",
    "\n",
    "# 掷色子\n",
    "from random import *\n",
    "d = {}  # point,count\n",
    "i=1000000\n",
    "while (i:=i-1):\n",
    "    r=randint(1, 6)\n",
    "    d[r]=d.get(r,0)+1\n",
    "for i,j in d.items():\n",
    "    print(i,\":\",\"-\"*(j//10000))\n",
    "# 二项分布\n",
    "import math\n",
    "n = 5\n",
    "k = 0\n",
    "p = 1-math.e**-2\n",
    "res = 0\n",
    "while k < 6:\n",
    "    res = math.comb(n, k)*p**(n-k)*(1-p)**(k)\n",
    "    print(res)\n",
    "    k += 1\n",
    "print(math.e**-10)\n",
    "\n",
    "s=1\n",
    "for i in range(2,11):\n",
    "    s*=1-i**(-2)\n",
    "s\n",
    "x = -2\n",
    "s = -1\n",
    "for i in range(1, 2020):\n",
    "    s += -2*(-1)**i\n",
    "s\n",
    "\n",
    "import math\n",
    "s=0\n",
    "for i in range(0,6):\n",
    "    s+=math.comb(90,5-i)*math.comb(10,i)/math.comb(100,5)*i\n",
    "print(s)\n",
    "\n",
    "\n",
    "from math import sqrt\n",
    "ls=[64,69,49,92,55,97,41,84,88,99,84,66,100,98,72,74,87,84,48,81]\n",
    "print(x:=sum(ls)/len(ls))\n",
    "s=sum([(i-x)**2 for i in ls])/(len(ls)-1)\n",
    "sqrt(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fc73d1bb610>]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 800x500 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 微观经济学\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "def Frank_potato(x: int) -> float: return x * 60 / 15\n",
    "def Frank_beef(x): return x*60/60\n",
    "def Rose_potato(x): return x*60 / 10\n",
    "def Rose_beef(x): return x * 60 / 20\n",
    "\n",
    "\n",
    "# plt.style.use('seaborn')\n",
    "x = np.arange(1, 25, 1)\n",
    "fig = plt.figure(num=3,figsize=(8,5))\n",
    "axe1 = fig.add_subplot(2, 2, 1)\n",
    "axe1.plot(x, Frank_potato(x))\n",
    "axe2 = fig.add_subplot(2, 2, 2)\n",
    "axe2.plot(x, Frank_beef(x),color='red')\n",
    "axe3 = fig.add_subplot(2, 2, 3)\n",
    "axe3.plot(x, Rose_potato(x),color='orange')\n",
    "axe4 = fig.add_subplot(2, 2, 4)\n",
    "axe4.plot(x, Rose_beef(x),color='green',linewidth=5.0,linestyle='--')\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.9.7 ('base')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.3"
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  },
  "vscode": {
   "interpreter": {
    "hash": "42d820d8758cde2badbeb8f7eaaa44975ccec32144b366942c17254cc50801f8"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
